#pragma once

#ifdef COMMON_UTIL_EXPORTS
#define UTIL_API __declspec(dllexport)
#else
#define UTIL_API __declspec(dllimport)
#endif

#include "IMsgSplitter.h"
#include "IAirlineServ.h"
#include "ICusServ.h"
#include <WinSock2.h>

UTIL_API IMsgSplitter* CreateMsgSplitter();
UTIL_API void DestroyMsgSplitter(IMsgSplitter* pSplitter);

UTIL_API void DeleteMsg(MSG_BASE* pMsg);
UTIL_API void SendMessage(MSG_BASE* pMsg, SOCKET sock);

UTIL_API IAirlineServ* CreateAirlineService(SOCKET sock);
UTIL_API void DestroyAirlineService(IAirlineServ* pServ);

UTIL_API ICusServ* CreateCustomerService(SOCKET sock);
UTIL_API void DestroyCustomerService(ICusServ* pServ);